{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Data Sources\n",
    "\n",
    "Below are examples of how to grab cross sections from the EAF \n",
    "and simple data sources and re-discretize them."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pyne.xs.data_source import *\n",
    "from pyne.bins import stair_step\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib\n",
    "matplotlib.rc('font', family='serif', size=14)\n",
    "import numpy as np\n",
    "dst_e_g = np.logspace(1, -7, 11)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## EAF Data Source"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([3.40601e-04, 4.13527e-04, 4.52339e-04, 5.35260e-04, 7.79656e-04,\n",
       "       9.12824e-04, 1.05027e-03, 1.20057e-03, 1.33202e-03, 1.46200e-03,\n",
       "       1.60595e-03, 1.67206e-03, 1.76457e-03, 1.90211e-03, 2.03703e-03,\n",
       "       2.12614e-03, 2.15500e-03, 2.15923e-03, 2.17015e-03, 2.19708e-03,\n",
       "       2.24992e-03, 2.34009e-03, 2.47761e-03, 2.65621e-03, 2.80624e-03,\n",
       "       2.93429e-03, 3.18937e-03, 3.54963e-03, 3.99022e-03, 4.53866e-03,\n",
       "       5.21324e-03, 6.05776e-03, 7.06523e-03, 9.26177e-03, 1.27481e-02,\n",
       "       1.75162e-02, 2.23344e-02, 2.54474e-02, 2.88533e-02, 3.21686e-02,\n",
       "       3.59024e-02, 4.03127e-02, 4.31805e-02, 4.57085e-02, 4.57084e-02,\n",
       "       4.57112e-02, 4.87787e-02, 5.18315e-02, 5.62859e-02, 6.08943e-02,\n",
       "       6.55405e-02, 7.01358e-02, 7.41851e-02, 7.78783e-02, 8.13216e-02,\n",
       "       8.57563e-02, 8.88694e-02, 9.13386e-02, 9.53971e-02, 9.82263e-02,\n",
       "       1.00158e-01, 1.04962e-01, 1.08964e-01, 1.11877e-01, 1.14201e-01,\n",
       "       1.16384e-01, 1.19622e-01, 1.23457e-01, 1.27270e-01, 1.31726e-01,\n",
       "       1.35999e-01, 1.40273e-01, 1.44433e-01, 1.49346e-01, 1.55223e-01,\n",
       "       1.60902e-01, 1.69406e-01, 1.83582e-01, 1.92772e-01, 1.99107e-01,\n",
       "       2.07917e-01, 2.18980e-01, 2.24834e-01, 2.28807e-01, 2.28834e-01,\n",
       "       2.28851e-01, 2.32272e-01, 2.47665e-01, 2.60721e-01, 2.69491e-01,\n",
       "       2.77787e-01, 2.86525e-01, 2.95251e-01, 3.03786e-01, 3.12412e-01,\n",
       "       3.20788e-01, 3.28606e-01, 3.35689e-01, 3.45583e-01, 3.55016e-01,\n",
       "       3.64635e-01, 3.74740e-01, 3.83871e-01, 3.96374e-01, 4.20446e-01,\n",
       "       4.36756e-01, 4.49877e-01, 4.66706e-01, 4.97313e-01, 5.05926e-01,\n",
       "       5.32346e-01, 5.64841e-01, 5.50892e-01, 5.98351e-01, 6.17782e-01,\n",
       "       6.72248e-01, 6.96237e-01, 6.99460e-01, 7.01140e-01, 7.19296e-01,\n",
       "       7.33180e-01, 7.24884e-01, 7.69404e-01, 7.77250e-01, 8.32799e-01,\n",
       "       9.33925e-01, 1.01020e+00, 1.07310e+00, 1.21651e+00, 1.27445e+00,\n",
       "       1.30837e+00, 1.52976e+00, 1.62957e+00, 1.69051e+00, 1.74094e+00,\n",
       "       1.83856e+00, 1.95794e+00, 1.97871e+00, 2.60955e+00, 2.70133e+00,\n",
       "       2.82330e+00, 3.85308e+00, 4.03064e+00, 3.91338e+00, 4.59505e+00,\n",
       "       4.20223e+00, 5.61362e+00, 7.39548e+00, 8.33983e+00, 1.02707e+01,\n",
       "       1.11389e+01, 1.29232e+01, 8.42540e+00, 2.31086e+01, 1.80067e+01,\n",
       "       3.46571e+01, 1.94390e+01, 4.63772e+01, 1.76541e+01, 6.54149e+01,\n",
       "       3.43397e+01, 2.86602e+01, 2.89308e+01, 1.97519e+01, 1.58082e+01,\n",
       "       3.79141e+00, 1.33372e+01, 3.45039e+00, 1.42551e+01, 1.37460e+01,\n",
       "       7.05691e+00, 8.53781e+00, 1.27605e+01, 3.89028e+01, 9.05356e+01])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eds = EAFDataSource()\n",
    "rx = eds.reaction('U235', 'gamma')\n",
    "rx"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "eds.dst_group_struct = dst_e_g\n",
    "rxc = eds.discretize('U235', 'gamma')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Cross Section [barns]')"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(7,7))\n",
    "plt.loglog(*stair_step(eds.src_group_struct, rx), figure=fig)\n",
    "plt.loglog(*stair_step(eds.dst_group_struct, rxc), figure=fig)\n",
    "plt.xlabel('E [MeV]')\n",
    "plt.ylabel('Cross Section [barns]')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Simple Data Source"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True\n"
     ]
    }
   ],
   "source": [
    "sds = SimpleDataSource(dst_group_struct=dst_e_g)\n",
    "print(sds.exists)\n",
    "rx = sds.reaction('U233', 'absorption')\n",
    "rxc = sds.discretize('U233', 'absorption')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Cross Section [barns]')"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(7,7))\n",
    "plt.loglog(sds.src_group_struct[:-1], rx, figure=fig)\n",
    "plt.loglog(sds.dst_group_struct[:-1], rxc, figure=fig)\n",
    "plt.xlabel('E [MeV]')\n",
    "plt.ylabel('Cross Section [barns]')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The data sources are caches, which means that subsequent requests for \n",
    "the same data are very fast! "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 32 ms, sys: 0 ns, total: 32 ms\n",
      "Wall time: 33 ms\n",
      "\n",
      "CPU times: user 46 µs, sys: 4 µs, total: 50 µs\n",
      "Wall time: 55.3 µs\n",
      "\n",
      "CPU times: user 43 µs, sys: 4 µs, total: 47 µs\n",
      "Wall time: 53.4 µs\n",
      "\n"
     ]
    }
   ],
   "source": [
    "%time sds.reaction('U238', 'fiss')\n",
    "print()\n",
    "%time sds.reaction('U238', 'fission')\n",
    "print()\n",
    "%time sds.reaction('U238', 'fiss')\n",
    "print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
